package org.sang.service;

import com.github.pagehelper.Page;
import org.sang.bean.OrderConsume;
import org.sang.dto.AddOrderConsumeReqDto;

import java.util.Map;

/**
 * 〈一句话描述〉
 * 〈功能详细描述〉
 *
 * @author Naughty
 * @version 2018 /4/6
 * @see IOrderConsumeService
 * @since 1.0
 */
public interface IOrderConsumeService {


    /**
     * Find store info list by page page.
     *
     * @param pageNum      the page num
     * @param pageSize     the page size
     * @param orderConsume the order consume
     * @return the page
     */
    Page<OrderConsume> findStoreInfoListByPage(Integer pageNum, Integer pageSize, OrderConsume orderConsume);

    /**
     * Query order consume order consume.
     *
     * @param consumeId the consume id
     * @return the order consume
     */
    OrderConsume queryOrderConsume(String consumeId);

    /**
     * Update order consume order consume.
     *
     * @param orderConsume the order consume
     * @return the order consume
     */
    OrderConsume updateOrderConsume(OrderConsume orderConsume);

    /**
     * Delete order consume.
     *
     * @param consumeId the consume id
     */
    void deleteOrderConsume(String consumeId);

    /**
     * Insert order consume order consume.
     *
     * @param orderConsume the order consume
     * @return the order consume
     */
    OrderConsume insertOrderConsume(OrderConsume orderConsume);

    /**
     * 按照会员卡号获取列表和余额.
     *
     * @param pageNum      the page num
     * @param pageSize     the page size
     * @param orderConsume the order consume
     * @return map map
     */
    Map<String, Object> findOrderConsumeByCardNumberAndBalance(Integer pageNum, Integer pageSize,OrderConsume orderConsume);

    /**
     * 批量增加消费记录.
     *
     * @param addOrderConsumeReqDto the add order consume req dto
     */
    void addOrderConsumeList(AddOrderConsumeReqDto addOrderConsumeReqDto);
}
